/*
  类型推论（类型推断）
*/

let a = 123; // 类型推论会自动根据值的情况来推论变量类型
// a = '123' // 报错

// 基本类型的类型推论没有问题
let b = "string";

// 基本类型的类型推论存在问题 - 引用类型建议定义类型
const arr: number[] = []; // --> never[] 有问题

interface Person {
  name: string;
}
const obj: Person = { name: "jack" };
// obj.name = "jack"; // 报错

// 将参数和返回值类型推论为any，不太好
function fn(x, y) {
  return x + y;
}

const arr1 = [1];
const obj1 = { name: "tom" };
